import { checkCode } from '@/api/customer'
import { validateBankAccount, validatePhone } from '@/libs/validate'
export default {
    // 海关编码
    customsCode (custId, rule, value, callback) {
        if (value) {
            if (value.length === 10) {
                callback()
            } else {
                callback(new Error('企业海关编码长度10个字符'))
            }
        } else {
            callback(new Error('请输入海关代码'))
        }
    },
    // 检疫代码
    ciqCode (custId, rule, value, callback) {
        if (value) {
            checkCode({ custId, ciqCode: value })
                .then(res => {
                    res.data.code === '0000'
                        ? callback()
                        : callback(new Error('检疫代码已存在'))
                })
                .catch(err => {
                    callback(new Error('检疫代码校验失败'))
                })
        } else {
            callback()
        }
    },
    // 统一社会信用代码
    socialCreditCode (custId, rule, value, callback) {
        if (value) {
            checkCode({ custId, socialCreditCode: value })
                .then(res => {
                    res.data.code === '0000'
                        ? callback()
                        : callback(new Error('统一社会信用代码已存在'))
                })
                .catch(err => {
                    callback(new Error('统一社会信用代码校验失败'))
                })
        } else {
            callback(new Error('请输入统一社会信用代码'))
        }
    },
    phone () {
        return function (rule, value, callback) {
            if (value) {
                validatePhone(value)
                    ? callback()
                    : callback(new Error('电话号码的最大长度20个字符'))
            } else {
                callback()
            }
        }
    },
    bankAccount () {
        return function (rule, value, callback) {
            if (value) {
                validateBankAccount(value)
                    ? callback()
                    : callback(new Error('银行账户是最大长度25位的数字'))
            } else {
                callback()
            }
        }
    }
}
